1. Field of the Invention
The present invention relates to a method for processing a macro block of image data, and more particularly, to a method for processing a macro block of image data and de-blocking a horizontal boundary of the macro block according to a format of the image data and a coding type of the macro block.
2. Description of the Prior Art
To efficiently compress a time variable video sequence, redundancy in the temporal domain as well as in the two dimensional spatial domain must be reduced. The Moving Picture Experts Group (MPEG) standards use a discrete cosine transform (DCT) to reduce the redundancy in the two dimensional spatial domain and a motion compensation method to reduce the redundancy in the temporal domain.
The DCT is a method of reducing the correlativity between data through a two dimensional spatial transformation. Each block in a picture is spatially transformed using the DCT after the picture is divided into blocks. Data that has been spatially transformed tends to be driven to a certain direction. Only a group of the data driven in the certain direction is quantized and transmitted.
Pictures, which are consecutive in the temporal domain, form motions of a human being or an object at the center of the frame. This property is used to reduce the redundancy of the temporal domain in the motion compensation method. A volume of data to be transmitted can be minimized by taking out a similar region from the preceding picture to fill a corresponding region, which has not been changed (or has very little change), in the present picture. The operation of finding the most similar blocks between pictures is called a motion estimation. The displacement representing a degree of motion is called a motion vector. MPEG uses a motion compensation-DCT method so that the two methods combine.
When a compression technique is combined with a DCT algorithm, the DCT transform is usually performed after input data is sampled in a unit size of 8×8, and the transform coefficients are quantized with respect to a visual property using quantization values from a quantization table. Then, the data is compressed through a run length coding (RLC). The data processed with the DCT is converted from a spatial domain to a frequency domain and compressed through the quantization with respect to the visual property of human beings, not to be visually recognized. For example, since the human eye is insensitive to high frequencies, a high frequency coefficient is quantized using a large step size. Thus, a quantization table is made according to external parameters, such as a display characteristic, watching distance, and noise, to perform an appropriate quantization.
For the quantized data, the data having a relatively high frequency is coded with a short code word. The quantized data having a low frequency is coded with a long code word. Thus, the data is finally compressed.
Please refer to FIG. 1. FIG. 1 shows a plurality of adjacent 8×8 pixel blocks 100, 102, 104 used according to the above described MPEG compression. In processing a moving picture as discussed above, these blocks 100, 102, 104 are individually processed to maximize the compression ratio and coding efficiency. However, this individual processing causes blocking artifacts that are noticeable at boundaries between blocks. Both horizontal block boundaries 106 and vertical block boundaries 108 are present and tend to cause square patterns (blocking artifacts) that are quite apparent to the human eye.
At low coding bit rates, blocking artifacts are a serious problem for moving picture compression. Since a real-time operation is necessary in coding and decoding a moving picture, it is difficult to reduce the blocking artifact with a small operation capacity. As such, existing video compression algorithms and standards continue to have unwanted visual artifacts appear when the original information is compressed with loss, and these unwanted visual artifacts become more visible when the coding bit rates become lower.
In the traditional block-based video compression standards such as MPEG-1 and MPEG-2, the blocking artifact is the most noticeable artifact. In actuality, there are two main sources of blocking artifacts. As mentioned previously, the major source comes from individually encoding each 8×8 DCT block without considering the correlation between adjacent blocks. In this case, coarse quantization of the transform coefficients causes discontinuities at the block boundaries. The second source of blocking artifacts is from the motion compensated prediction. Motion compensation involves coding pixel data from a reference frame and results in a discontinuity at the edge of the copied block. Additionally, any blocking artifacts existing in the reference frame may also be propagated to a current frame due to copying process. As such, the blocking artifacts resulting from motion compensated prediction can occur at any position inside an 8×8 predictive block.